Online-Academy

Look, Read, Understand, Apply

Menu

Data Structure

MenuDriven Circular Queue

import java.util.*;
class cp_menu{
    int rear;
    int counter;
    int front;
    String[] data;
    public cp_menu(){
        counter = 0;
        front = 0;
        rear = -1;
        data = new String[5];
    }
    public void insert(String o){
        if(rear < counter){
            rear = (rear+1)%5;
            data[rear] = o; 
            ++counter;
        }
    }
    public void remove(){
        if(counter !=0){
            System.out.println("Removed Item: "+data[front]);
            front = (front+1)%5;
            --counter;
        }
    }
    public void show(){
        int i=front;
        do{
            System.out.println("Data at "+i+" is:  "+data[i]);
            i=(i+1)%5;
        }while(i!=rear);
    }
    public static void main(String[] aargs){
        cp_menu c = new cp_menu();
        int op=4;
        Scanner ss = new Scanner(System.in);
        while(true){
            System.out.println("1.Insert");
            System.out.println("2.Remove");
            System.out.println("3.Display");
            System.out.println("4.Exit");
            System.out.println("Choice:");
            op = ss.nextInt();
            if(op == 1){
                System.out.println("Enter Word:");
                String s = ss.next();
                c.insert(s);
            }else if(op == 2){
                c.remove();
            }else if(op == 3){
                c.show();
            }else{
                ss.close();
                System.exit(1);
            }
        }
    }
}